#ifndef SEPARATED_WEIGHTED_RESAMPLER_H__CMU_
#define SEPARATED_WEIGHTED_RESAMPLER_H__CMU_

#include "weighted_resampler.h"

class separated_weighted_resampler : public weighted_resampler {
public :
	virtual bool resample_problem(boosting_problem & prob, double * d_t, int & argc, char **& argv, boosting_problem & selected_prob);
	virtual ~separated_weighted_resampler(){}
protected:
	int count_samples(boosting_problem & prob, double label);
	void get_samples(boosting_problem & prob, double * d, double * y, boosting_node ** x, double * d_t, double label);
	void normalize(double * d, int l);
	virtual pair_sampler_sorted * get_pair_sampler_sorted();
};

class separated_weighted_once_resampler : public separated_weighted_resampler {
public:
	virtual ~separated_weighted_once_resampler(){}
protected:
	virtual pair_sampler_sorted * get_pair_sampler_sorted();
};

#endif